package com.seu.spring.advance.ioc.factory;

/**
 * 为了让Bean可以获取到Spring框架自身的一些对象，Spring提供了一组名为*Aware的接口。
 * 比如如果bean实现了BeanFactoryAware接口，Spring容器在实例化bean的过程中，会将BeanFactory容器注入到bean中。
 * <p>
 * 实现该接口则有操作beanFactory的能力
 * <p>
 * 容器的引用传入到 Bean 中去，这样，Bean 将获取容器的引用，获取对容器操作的权限，也就允许了 编写
 * 扩展 IoC 容器的功能的 Bean。
 * 例如：获取容器中所有的 切点对象，决定对哪些对象的哪些方法进行代理。解决了 为哪些对象提供 AOP 的植入的问题。
 *
 * @author liangfeihu
 * @since 2018/12/28 15:42
 */
public interface BeanFactoryAware {
    /**
     * set spring IOC
     *
     * @param beanFactory
     * @throws Exception
     */
    void setBeanFactory(BeanFactory beanFactory) throws Exception;
}
